
# 序列中的通用操作
"""
索引 ：
1. 取值 ：seq[index] ,index代表就是索引，默认值从0开始 ，索引支持的数据类型有 ： 列表 ，元组，字符串
2. 赋值 ：seq[index] = 新值
"""
lst = ['red','hello',2,3.5]
tp = ('red','hello',2,3.5)
my_str = "hello world"

# 1. 索引取值
print(lst[1])
print(tp[2])
print(my_str[3])

# 2. 索引赋值
lst[1] = 'python'
# lst[4] = 'world'        # 报错 ：IndexError
print(lst)


"""
切片：
语法格式 ： seq[start:end:step]
    seq : 序列：列表 ，字符串 ，元组
    start : 切片的开始索引位置 ，包括该索引 ，默认值从0开始
    end ： 切片的结束位置 ，不包括该位置 ，默认值序列的长度
    step : 步长，默认的是1 
"""
lst2 = ['red','green','black','blue','gold']
print("获取列表的第2~4个元素:",lst2[1:4:1])
print("偶数的元素:",lst2[1:5:2])

print(lst2[0:3:1])
print(lst2[:3:1])   # 省略了start
print(lst2[0:3:])   # 省略了step
print(lst2[:3:])   # 省略了start和step
print(lst2[0:5:1])
print(lst2[::])     # 省略了start和end , step


"""
相加和相乘 ：
相加 ： +
相乘 ： *
前体条件 ：同等数据类型才能进行相加或相乘 ，只针对列表 ，元组 ，字符串
"""
print("===============")
print("="*30)
alst = [1,2]
blst = [3,4]
clst = alst + blst
print(clst)
astr = "hello"
bstr = "python"
print(astr + bstr)
atp = (1,2)
btp = (3,4)
print(atp+btp)

dlst = alst * 3
print(dlst)

"""
检查元素 ： 元素 in 序列 ，返回的结果是bool类型 。
说明 ： 支持列表，元素 ，字符串 ，字典
"""

print("="* 30)
lst5 = ['red','green','black','blue','gold']
print("检查列表中是否存在blue:","blue" in lst5)
print("检查列表中是否存在orange:","orange" in lst5)

dct = {'a':1,'b':2}
print("检查字典中是否存在a:","a" in dct)
print("检查字典中是否存在c:","c" in dct)